SuperEdge 易学易用系列-SuperEdge 简介
关于 SuperEdge
SuperEdge[1] 是由腾讯、Intel、VMware、虎牙直播、寒武纪、首都在线和美团等多家公司共同发起的边缘容器管理系统,它基于原生 Kubernetes、针对边缘计算和分布式云场景而设计,旨在将集中式的 Kubernetes 的能力拓展到边缘计算和分布式的资源管理场景,便于用户管理和运维地理位置远、分布广泛的边缘和分布式系统。该系统适用于IoT、边缘AI、智慧交通、工业互联网、分布式云等场景,有助于业务快速落地。本文将向大家介绍 SuperEdge 的主要使用场景和核心能力。
SuperEdge 适用于哪些场景
master 与 worker 节点之间网络不可靠以及单向可达
边缘计算场景下云边之间的网络具有两个特点:
单向可达,通常是边可以访问云,云不能访问边 可靠性差,如:4G5G、WiFi等无线网络 这样的网络条件无法满足传统 Kubernetes 对网络的要求,SuperEdge 原创多种领先的技术能力,让云边网络不再成为边缘业务容器化管理的拦路虎。
SuperEdge 在网络方面的能力有:
只要 求worker 节点可以主动访问到 master,即使worker节点位于NAT网络也丝毫无影响 提供业界领先的边缘自治能力,在最苛刻的条件下也能保障业务稳定运行
SuperEdge自研的云边隧道技术(Tunnel[2])优雅地解决了云边单向网络问题,即使 worker 节点位于NAT网络也丝毫不影响原有的Kubernetes运维能力,如:kubectl exec/logs。不仅于此,SuperEdge 还进一步扩展了云边隧道能力,目前可以支持代理多种协议:TCP/HTTP(S)/SSH,这些能力原生对用户开放,用户只需要配置代理规则即可达成业务层云边数据代理的效果。
边缘轻量 api-server(lite-apiserver[3])让系统具备节点自治能力,即使节点掉线也不影响业务pod正常运行;边缘分布式健康检查机制(edge-health[3])增强了原生 Kubernetes 判断 Worker 节点运行状态的能力,可以精确地区分出节点是掉线还是故障,避免了因网络不稳定而导致Pod胡乱迁移的问题,也避免了因关闭 Kubernetes Pod 驱逐机制而导致即使 Worker 节点异常也无法迁移Pod的问题;此外,SuperEdge还实现了 endpoint 级别的智能探测能力,该能力由 Wrapper 与 edge-health 配合实现。即使出现边缘大量节点同时掉线,并且掉线期间发生节点故障问题,系统也有能力根据实际情况动态地调整路由规则,保障运行在边缘侧的微服务不受影响;SuperEdge 的商业版本 TKE Edge 还通过定制网络插件实现了更多能力,我们也将会逐步将这些能力开源出来。
worker节点分布在多个地域
SuperEdge项目特点
完全云原生
SuperEdge 没有选择做一个与 Kubernetes 平行项目的路线,而是基于原生 Kubernetes 之上,解决 Kubernetes 在边缘和分布式场景下不适应的地方。
对原生 Kubernetes 代码无任何侵入和破坏。SuperEdge 以一种松耦合方式与 Kubernetes 配合使用,用户可以很容易地选择适合需要的 Kubernetes 版本以及定制版本。 对其使用方式无任何修改。所有的资源类型,使用方式,运维能力均全部保持原样,Kubectl + kubeconfig 依然是推荐的运维方式;除此之外,SuperEdge 还以 Kubernentes CRD 的方式提供 Kubernetes 之外的资源类型供用户使用。 完全兼容云原生生态。监控、日志等各种云原生方案依然可以用于 SuperEdge,零迁移成本,零学习成本。一看即会,一用即爽。
丰富的实用能力
解决用户的实际问题是 SuperEdge 始终不移的目标,本着从用户角度思考、解决用户真实诉求的出发点,SuperEdge 提供了一系列系统使用和运维工具和功能,为用户提供各种实用价值。
一键从零搭建 SuperEdge 集群。SuperEdge 提供的edgeadm[4]工具支持:1)一键从零搭建出一个具有边缘能力的 Kubernetes 集群;2)如果用户想将已有的 Kubernetes 集群升级成边缘 Kubernetes 集群,只需执行一条 edgeadm change命令;3)如果用户想在已有 Kubernetes 集群中添加边缘节点,只需执行 edgeadm join。
支持以云原生方式从云端批量添加位于内网的边缘节点的项目。SuperEdge 的Penetrator提供从云端批量添加和重装边缘节点的能力,它设计了一种 K8s CRD(Custom Resource Definition),使用者只需要创建一个相应的CR,系统即可帮助用户完成添加和重装边缘节点操作。该能力既解决了用户有时无法直接从云端登录边缘节点的痛点,也通过批量操作达到提升运维效率的目的。
支持从云端 ssh 登录位于内网边缘节点。SuperEdge 自研的云边隧道 Tunnel[5]具有很好的通用性和二次开发性,在SuperEdge v0.4.0[6]版本中,tunnel 支持了ssh 协议,用户可以从云端使用 ssh 工具通过 tunnel 登录到边缘节点,(见:从云端SSH运维边缘节点)解决了单向网络场景下管理员无法直接从云端登录和运维边缘节点的实际痛点。
全方位的边缘自治能力
SuperEdge 创造性地引入边缘分布式智能感知技术,结合 lite-apiserver、Wrapper、定制网络插件(开源中),为系统稳定运行提供多维度、全方位的保障,即使在最苛刻的条件下也能可靠地工作。
边缘轻量 api-server(lite-apiserver[3])让系统具备节点自治能力,即使节点掉线也不影响业务pod正常运行。
边缘分布式健康检查机制(edge-health[7])增强了原生 Kubernetes 判断 Worker 节点运行状态的能力,可以精确地区分出节点是掉线还是故障,避免了因网络不稳定而导致Pod胡乱迁移的问题,也避免了因关闭 Kubernetes Pod 驱逐机制而导致即使 Worker 节点异常也无法迁移Pod的问题。
SuperEdge 还实现了 endpoint 级别的智能探测能力,该能力由 Wrapper 与 edge-health 配合实现。即使出现边缘大量节点同时掉线,并且掉线期间发现节点故障问题,系统也有能力根据实际情况动态地调整路由规则,保障运行在边缘侧的微服务不受影响。
SuperEdge 的商业版本 TKE Edge 还通过定制网络插件实现了更多能力,我们也将会逐步将这些能力开源出来。
高效的资源管理模式
SuperEdge 支持两种部署模式,提供流量区域治理,支持跨集群、多地域应用编排能力的容器系统,让用户可以高效地管理复杂的边缘资源。
支持云端管控和边缘自治两种部署模式。
支持跨集群、多地域的应用编排能力。SuperEdge 提供 DeploymentGrid 和 StatusfulSetGrid 两种 CRD,实现一次将应用编排到多个地域(支持跨集群),以及允许用户指定灰度策略。见:ServiceGroup:【https://github.com/superedge/superedge/blob/main/docs/components/serviceGroup_CN.md】
支持流量区域自治。SuperEdge 提供 ServiceGrid CRD,实现 service 调用在一个区域内完成闭环的效果,避免微服务间调用出现跨地域访问的问题。同上见:【ServiceGroup】
SuperEdge未来展望
针对边缘场景的网络方案。包括云-边之间、地域之间的网络,许多业务场景都提出了相关的诉求。
多地域 ServiceMesh。将 Mesh 能力扩展到多地域场景能进一步满足在边缘部署微服务的诉求。
系统跨地域高可用。高可用始终是一个使用者最关心的重点之一,SuperEdge 也将持续深耕这方面。
SuperEdge 团队将会不断丰富系统特性,解决用户关心的通用问题,敬请期待。
本文对应的视频
合作和开源
TKE Edge 边缘容器管理服务的边缘计算能力核心组件已经开源到 SuperEdge项目,欢迎共建边缘计算,参与 SuperEdge 开源项目的建设,让您开发的边缘能力惠及更多人。以下是 SuperEdge 开源项目的微信群,欢迎参与交流讨论。
SuperEdge版本:
TKE Edge相关文章:
【TKE 边缘容器系列】一文读懂 SuperEdge 边缘容器架构与原理 【TKE 边缘容器系列】一文读懂 SuperEdge 分布式健康检查边端 【TKE 边缘容器系列】一文读懂 SuperEdge 拓扑算法 【TKE 边缘容器系列】一文读懂 SuperEdge 云边隧道 【TKE 边缘容器系列】SuperEdge 如何支持多地域 StatefulSets 及灰度 【TKE 边缘容器系列】边缘计算与边缘容器简介 【TKE 边缘容器系列】边缘应用管理方案 【TKE 边缘容器系列】弱网环境利器之边缘自治功能
落地案例相关资料:
腾讯 WeMake 工业互联网平台的边缘容器化实践:打造更高效的工业互联网 完爆!用边缘容器,竟能秒级实现团队七八人一周的工作量 基于边缘容器技术的工业互联网平台建设 使用 TKE Edge 部署 EdgeX Foundry 腾讯 2020 Techo Park 5G边缘计算分论坛视频回放[8]
参考资料
[1]SuperEdge: 【https://github.com/superedge/superedge】
[2]Tunnel: 【https://github.com/superedge/superedge/blob/main/docs/components/tunnel_CN.md】
[3]lite-apiserver: 【https://github.com/superedge/superedge/blob/main/docs/components/lite-apiserver_CN.md】
[4]edgeadm: 【https://github.com/superedge/superedge/blob/main/docs/installation/install_via_edgeadm_CN.md】
[5]Tunnel: 【https://github.com/superedge/superedge/blob/main/docs/components/tunnel_CN.md】
[6]SuperEdge v0.4.0: 【https://github.com/superedge/superedge/releases/tag/v0.4.0】
[7]edge-health: 【https://github.com/superedge/superedge/blob/main/docs/components/edge-health_CN.md】
[8]腾讯 2020 Techo Park 5G边缘计算分论坛视频回放: 【https://techo.cloud.tencent.com/2020/index.html?param=&code=023NH1ll2Ie9f64bDknl2SDR4I2NH1ll&state=STATE#/live?subSeminarId=2011280805750135】
往期精选推荐